Algebraic expressions are typically used in computer programs to assign values to variables. These expressions normally occur on the right hand side of an assignment statement, and in particular after an assignment operator. The assignment operator most often used is an “=” sign. They are also used in parameter lists of functions, in conditional statements, etc., in computer programs. An example of an assignment statement is:S=a+b*c+fn(a, b+c, d)+func(a, fn(c,d,e))  (1)wherein variable S is assigned a value, the value being dependent on a, b, c, d and e, each of which is either a number or a variable, and fn( ) and func( ), which are functions.
Prior methods of determining the syntactic correctness of expressions routinely break up the expression on the right hand side of the assignment operator into tokens and create a tree, where the tokens sit at the nodes of the tree. A number of rules of how to deal with those tokens, that have been created, are then applied.